spring.profiles.active
属性和其他属性一样都遵循相同的排列规则,优先级最高的PropertySource
获胜,也就是说,你可以在application.properties
中指定生效的配置,然后使用命令行开关替换它们。
有时,将profile-specific的属性添加到激活的配置中而不是直接替换它们是有好处的。spring.profiles.include
属性可以用来无条件的添加激活的配置,而SpringApplication
的入口点也提供了一个用于设置其他配置的Java API,通过它设置的active配置优先级高于spring.profiles.active
,具体参考setAdditionalProfiles()
方法。
例如,当一个应用使用下面的属性,并用--spring.profiles.active=prod
开关运行,那proddb
和prodmq
profiles也会激活:
---
my.property: fromyamlfile
---
spring.profiles: prod
spring.profiles.include: proddb,prodmq
注 spring.profiles
属性可以定义到YAML文档中,以决定何时将该文档包含进配置,具体参考Section 63.6, “Change configuration depending on the environment”